/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pa_jai;

import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.JAI;
import javax.media.jai.PlanarImage;


/**
 *
 * @author thay
 */
public class Recorte {

    private ParameterBlock pb, pbAux;
    private float x0, y0, x1, y1, altura, largura;

    public PlanarImage crop(PlanarImage ri) {

        // Recorta a imagem...
        pb = new ParameterBlock();
        pb.addSource(ri);
        pb.add(x0);
        pb.add(y0);
        pb.add(largura);
        pb.add(altura);
        ri = JAI.create("crop", pb, null);

        // Reposiciona a imagem recortada...
        pbAux = new ParameterBlock();
        pbAux.addSource(ri);
        pbAux.add(-x0);
        pbAux.add(-y0);

        PlanarImage recortadaOK = JAI.create("translate" ,pbAux, null);

        return recortadaOK;
    }

    public void calculaDimensoes(){
        // Calcula as dimensoes da regiao selecionada pelo mouse...
        largura = x1 - x0;
        altura = y1 - y0;
    }

    public float getX0() {
        return x0;
    }

    public void setX0(float x0) {
        this.x0 = x0;
    }

    public float getX1() {
        return x1;
    }

    public void setX1(float x1) {
        this.x1 = x1;
    }

    public float getY0() {
        return y0;
    }

    public void setY0(float y0) {
        this.y0 = y0;
    }

    public float getY1() {
        return y1;
    }

    public void setY1(float y1) {
        this.y1 = y1;
    }

    public float getAltura() {
        return altura;
    }

    public void setAltura(float altura) {
        this.altura = altura;
    }

    public float getLargura() {
        return largura;
    }

    public void setLargura(float largura) {
        this.largura = largura;
    }
}
